<!--
  ~ Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<html>
<body>
报告循环内的 <code>defer</code> 语句。
<p>在循环中使用 <code>defer</code> 会导致资源泄漏或语句的执行顺序不可预测。</p>
<p>示例：</p>
<pre><code>func main() {
 for {
  field, err := db.Query("SELECT 1")
  if err != nil {
   // ...
  }
  defer field.Close()
  // ...
 }
}</code></pre>
<p><code>defer row.Close()</code> 在循环内的调用在函数完成执行之前不会执行。
  不是在 <code> for</code> 循环的每一步结束时。 这种实现可能会导致函数堆栈溢出和其他问题。</p>
</body>
</html>